package cn.silver.module.system.service.impl;


import cn.silver.framework.mybatis.service.impl.BaseServiceImpl;
import cn.silver.module.system.bean.DeptPostBean;
import cn.silver.module.system.domain.SysDeptPost;
import cn.silver.module.system.mapper.SysDeptPostMapper;
import cn.silver.module.system.param.DeptPostParam;
import cn.silver.module.system.service.ISysDeptPostService;
import cn.silver.module.system.service.ISysPostService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

@Service
@RequiredArgsConstructor
public class SysDeptPostServiceImpl extends BaseServiceImpl<SysDeptPostMapper, SysDeptPost, DeptPostParam, DeptPostBean>
        implements ISysDeptPostService {

    private final ISysPostService postService;

//    @Override
//    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
//    public boolean insert(DeptPostBean entity) {
//        if (StringUtils.isBlank(entity.getDeptId())) {
//            throw new ServiceException(ResultEnum.DATA_VALIDATED_FAILED.getCode(), "部门信息不能为空");
//        }
//        if (CollectionUtils.isNotEmpty(entity.getPosts())) {
//            List<SysDeptPost> batch = new ArrayList<>(entity.getPosts().size());
//            entity.getPosts().stream().forEach(cur -> {
//                SysDeptPost item = new SysDeptPost(entity, cur);
//                cur.preInsert();
//                batch.add(item);
//            });
//            return this.insertBatch(batch);
//        } else if (StringUtils.isBlank(entity.getPostName()) && StringUtils.isNotBlank(entity.getPostId())) {
//            SysPost post = postService.selectById(entity.getPostId());
//            entity.reload(post);
//            entity.preInsert();
//            return this.baseMapper.insert(entity);
//        } else {
//            throw new ServiceException(ResponseEnum.DATA_VALIDATED_FAILED, "岗位信息不能为空");
//        }
//    }
}
